

import jbehavenovoexemplo.FipTwitter;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;

import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;


public class UsuarioLoginRepetidoCenario {

	private FipTwitter twitter;
	private Exception resultException;
	
	@Given("o serviço já tenha um usuário de login $login")
	public void dadoServicoComOUsuarioCriado(String login) {
		twitter = new FipTwitter();
		twitter.novoUsuario("Emanuell Faustino", login, "abc1234");
	}
	
	@When("eu faço o cadastro do usuário com nome $nome o login $login e a senha $senha") 
	public void fazerCadastroDeFulanoDeTal(String nome, String login, String senha) {
		try {
			twitter.novoUsuario(nome, login, senha);
		} catch (Exception e) {
			resultException = e;
		}
	}
	
	@Then("o sistema deve lançar o erro: $erro")
	public void oSistemaDeveLancarOErro(String erro) {
		assertThat(resultException, notNullValue());
		assertThat(erro, equalTo(resultException.getMessage()));
	}
	
}
